// const fs=require('fs')

// //ES6版本
// const Thunk = function(fn) {
//   return function (...args) {
//     return function (callback) {
//       return fn.call(this, ...args, callback);
//     }
//   };
// };

// function f(a, cb) {
//   cb(a);
// }
// const ft = Thunk(f);

// ft(1)(console.log) // 1


// var thunkify = require('thunkify');         //只要是毁掉函数的形式都能用这个



// var read = thunkify(fs.readFile);
// read('../package.json')(function(err, str){
//     console.log(str)
// });


//这个是一个解决异步的方式

var fs = require('fs');
var thunkify = require('thunkify');

var readFileThunk = thunkify(fs.readFile);


var gen = function* () {
  var r1 = yield readFileThunk('./Iterator接口.html');
  // console.log(r1.toString());
  var r2 = yield readFileThunk('./M_.js');
  // console.log(r2.toString());
};

var g = gen();

var r1 = g.next();

r1.value(function (err, data) {
  var r2 = g.next(data);
  r2.value(function (err, data) {
    if (err) throw err;
    g.next(data);
  });
});

console.log('aa')